public void SaveBudget(ProjectDto project, List<TaskDto> taskList) { if (project != null) { var code = Convert.ToDouble(project.Code); var prePresupuestos = Asgard._Foreing.PRE_PRESUPUESTOS.Where(x => x.PRE_NUMERO.Equals(code)).SingleOrDefault(); if (prePresupuestos != null) {// Edit Map(project, prePresupuestos, taskList); } else {// Add if (project.Code != null) { prePresupuestos = new PRE_PRESUPUESTOS(); Map(project, prePresupuestos, taskList); Asgard._Foreing.PRE_PRESUPUESTOS.AddObject(prePresupuestos); } } Asgard._Foreing.SaveChanges(); } }
/// <summary> /// Create a new PRE_PRESUPUESTOS object. /// </summary> /// <param name="cIA_CODIGO">Initial value of the CIA_CODIGO property.</param> /// <param name="pRE_NUMERO">Initial value of the PRE_NUMERO property.</param> /// <param name="cLI_CLIENTE">Initial value of the CLI_CLIENTE property.</param> /// <param name="sVR_CODIGO">Initial value of the SVR_CODIGO property.</param> /// <param name="vEN_VENDEDOR">Initial value of the VEN_VENDEDOR property.</param> /// <param name="pRE_NOMBREPROYECTO">Initial value of the PRE_NOMBREPROYECTO property.</param> /// <param name="pRE_SUBTOTAL_H">Initial value of the PRE_SUBTOTAL_H property.</param> /// <param name="pRE_IMPREVISTOS">Initial value of the PRE_IMPREVISTOS property.</param> /// <param name="pRE_UTILIDAD">Initial value of the PRE_UTILIDAD property.</param> /// <param name="pRE_GARANTIA">Initial value of the PRE_GARANTIA property.</param> /// <param name="pRE_TOTALMETROS">Initial value of the PRE_TOTALMETROS property.</param> /// <param name="pRE_TOTALSERVICIO">Initial value of the PRE_TOTALSERVICIO property.</param> /// <param name="pRE_COSTOXMETRO">Initial value of the PRE_COSTOXMETRO property.</param> /// <param name="pRE_APLICADO">Initial value of the PRE_APLICADO property.</param> /// <param name="pRE_PORC_IMPREVISTOS">Initial value of the PRE_PORC_IMPREVISTOS property.</param> /// <param name="pRE_PORC_UTILIDAD">Initial value of the PRE_PORC_UTILIDAD property.</param> /// <param name="pRE_PORC_GARANTIA">Initial value of the PRE_PORC_GARANTIA property.</param> /// <param name="pRE_SUBTOTAL_I">Initial value of the PRE_SUBTOTAL_I property.</param> /// <param name="pRE_SUBTOTAL_J">Initial value of the PRE_SUBTOTAL_J property.</param> /// <param name="pRE_SUBTOTAL_K">Initial value of the PRE_SUBTOTAL_K property.</param> /// <param name="pRE_PORC_MUP">Initial value of the PRE_PORC_MUP property.</param> /// <param name="pRE_MUP">Initial value of the PRE_MUP property.</param> /// <param name="pRE_PORC_UTIL_GNRL">Initial value of the PRE_PORC_UTIL_GNRL property.</param> /// <param name="pRE_UTILIDAD_GNRL">Initial value of the PRE_UTILIDAD_GNRL property.</param> /// <param name="pRE_TOTAL_GNRL">Initial value of the PRE_TOTAL_GNRL property.</param> public static PRE_PRESUPUESTOS CreatePRE_PRESUPUESTOS(global::System.String cIA_CODIGO, global::System.Double pRE_NUMERO, global::System.String cLI_CLIENTE, global::System.String sVR_CODIGO, global::System.String vEN_VENDEDOR, global::System.String pRE_NOMBREPROYECTO, global::System.Double pRE_SUBTOTAL_H, global::System.Double pRE_IMPREVISTOS, global::System.Double pRE_UTILIDAD, global::System.Double pRE_GARANTIA, global::System.Double pRE_TOTALMETROS, global::System.Double pRE_TOTALSERVICIO, global::System.Double pRE_COSTOXMETRO, global::System.Int32 pRE_APLICADO, global::System.Double pRE_PORC_IMPREVISTOS, global::System.Double pRE_PORC_UTILIDAD, global::System.Double pRE_PORC_GARANTIA, global::System.Double pRE_SUBTOTAL_I, global::System.Double pRE_SUBTOTAL_J, global::System.Double pRE_SUBTOTAL_K, global::System.Double pRE_PORC_MUP, global::System.Double pRE_MUP, global::System.Double pRE_PORC_UTIL_GNRL, global::System.Double pRE_UTILIDAD_GNRL, global::System.Double pRE_TOTAL_GNRL) { PRE_PRESUPUESTOS pRE_PRESUPUESTOS = new PRE_PRESUPUESTOS(); pRE_PRESUPUESTOS.CIA_CODIGO = cIA_CODIGO; pRE_PRESUPUESTOS.PRE_NUMERO = pRE_NUMERO; pRE_PRESUPUESTOS.CLI_CLIENTE = cLI_CLIENTE; pRE_PRESUPUESTOS.SVR_CODIGO = sVR_CODIGO; pRE_PRESUPUESTOS.VEN_VENDEDOR = vEN_VENDEDOR; pRE_PRESUPUESTOS.PRE_NOMBREPROYECTO = pRE_NOMBREPROYECTO; pRE_PRESUPUESTOS.PRE_SUBTOTAL_H = pRE_SUBTOTAL_H; pRE_PRESUPUESTOS.PRE_IMPREVISTOS = pRE_IMPREVISTOS; pRE_PRESUPUESTOS.PRE_UTILIDAD = pRE_UTILIDAD; pRE_PRESUPUESTOS.PRE_GARANTIA = pRE_GARANTIA; pRE_PRESUPUESTOS.PRE_TOTALMETROS = pRE_TOTALMETROS; pRE_PRESUPUESTOS.PRE_TOTALSERVICIO = pRE_TOTALSERVICIO; pRE_PRESUPUESTOS.PRE_COSTOXMETRO = pRE_COSTOXMETRO; pRE_PRESUPUESTOS.PRE_APLICADO = pRE_APLICADO; pRE_PRESUPUESTOS.PRE_PORC_IMPREVISTOS = pRE_PORC_IMPREVISTOS; pRE_PRESUPUESTOS.PRE_PORC_UTILIDAD = pRE_PORC_UTILIDAD; pRE_PRESUPUESTOS.PRE_PORC_GARANTIA = pRE_PORC_GARANTIA; pRE_PRESUPUESTOS.PRE_SUBTOTAL_I = pRE_SUBTOTAL_I; pRE_PRESUPUESTOS.PRE_SUBTOTAL_J = pRE_SUBTOTAL_J; pRE_PRESUPUESTOS.PRE_SUBTOTAL_K = pRE_SUBTOTAL_K; pRE_PRESUPUESTOS.PRE_PORC_MUP = pRE_PORC_MUP; pRE_PRESUPUESTOS.PRE_MUP = pRE_MUP; pRE_PRESUPUESTOS.PRE_PORC_UTIL_GNRL = pRE_PORC_UTIL_GNRL; pRE_PRESUPUESTOS.PRE_UTILIDAD_GNRL = pRE_UTILIDAD_GNRL; pRE_PRESUPUESTOS.PRE_TOTAL_GNRL = pRE_TOTAL_GNRL; return pRE_PRESUPUESTOS; }
/// <summary> /// Deprecated Method for adding a new object to the PRE_PRESUPUESTOS EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToPRE_PRESUPUESTOS(PRE_PRESUPUESTOS pRE_PRESUPUESTOS) { base.AddObject("PRE_PRESUPUESTOS", pRE_PRESUPUESTOS); }
private void Map(ProjectDto source, PRE_PRESUPUESTOS destination, IEnumerable<TaskDto> taskList) { #region Map destination.CIA_CODIGO = "01"; destination.PRE_NUMERO = Convert.ToDouble(source.Code); destination.CLI_CLIENTE = source.BudgetRequest.Customer.BindCustomer.AlienId; destination.SVR_CODIGO = "00"; // Necesario por ser llave foranea {No existe en SGP}{NO APLICA} destination.PRE_FECHA = DateTime.Today; destination.VEN_VENDEDOR = "SGP"; //Se utiliza un estandar, en este caso es el sitema SGP destination.PRE_NOMBREPROYECTO = source.Name; destination.PRE_OBSERVACIONES = source.Comments; destination.PRE_ACTIVIDADES = "GENERADO MEDIANTE SGP"; destination.PRE_TOTALMETROS = source.TotalMeters; destination.PRE_SUBTOTAL_H = 0.0; //{Pendiente} destination.PRE_SUBTOTAL_I = 0.0; //{Pendiente} destination.PRE_SUBTOTAL_J = 0.0; //{Pendiente} destination.PRE_APLICADO = 0; //{Pendiente} destination.PRE_PORC_UTILIDAD = 0.0; destination.PRE_UTILIDAD = 0.0; destination.PRE_PORC_MUP = 0.0; destination.PRE_SUBTOTAL_K = Convert.ToDouble(CalcSubtotal(source)); destination.PRE_PORC_IMPREVISTOS = source.ContingenciesRate; destination.PRE_IMPREVISTOS = destination.PRE_SUBTOTAL_K * destination.PRE_PORC_IMPREVISTOS / 100; destination.PRE_PORC_GARANTIA = source.GuaranteeRate; destination.PRE_GARANTIA = destination.PRE_SUBTOTAL_K * destination.PRE_PORC_GARANTIA / 100; var other = destination.PRE_SUBTOTAL_K * source.OthersRate / 100; // + % Otros que no aparece en dialcom destination.PRE_TOTALSERVICIO = destination.PRE_SUBTOTAL_K + destination.PRE_IMPREVISTOS + destination.PRE_GARANTIA + other; destination.PRE_PORC_UTIL_GNRL = source.TotalUtilityRate; destination.PRE_UTILIDAD_GNRL = destination.PRE_TOTALSERVICIO * destination.PRE_PORC_UTIL_GNRL / 100; var discount = (destination.PRE_TOTALSERVICIO + destination.PRE_UTILIDAD_GNRL) * source.DiscountRate / 100; /////////////////////////////////////////////////////////////////////////////////////////////////////////////// /**/ destination.PRE_TOTAL_GNRL = destination.PRE_TOTALSERVICIO + destination.PRE_UTILIDAD_GNRL - discount;/**/ /////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (destination.PRE_TOTALMETROS <= 0) destination.PRE_COSTOXMETRO = 0; else destination.PRE_COSTOXMETRO = destination.PRE_TOTAL_GNRL / destination.PRE_TOTALMETROS; destination.FAM_Codigo = source.BudgetRequest.Family.Id; // Necesario por ser llave foranea destination.TIP_Codigo = 33; // Necesario por ser llave foranea {No existe en SGP}{Otros} destination.SUB_Codigo = 999; // Necesario por ser llave foranea {No existe en SGP}{Ninguno} destination.USR_Usuario_Inclusion = "SGP"; destination.USR_Fecha_Inclusion = DateTime.Today; destination.USR_Usuario_Modificacion = "SGP"; destination.USR_Fecha_Modificacion = DateTime.Today; #endregion GetBudgetDetail(taskList, destination.PRE_DETALLE); GetBudgetTask(taskList, destination.TaskByBudgets); GetTotalDetail(destination.PRE_TOTALESDETALLE_X_HOJAPRESUPUESTO, destination.PRE_DETALLE); }