Ejemplo n.º 1
0
        internal CallContext CalculateCostCentersTotal(int idSAPData, CallContext callContext)
        {
            SAPDataCostCenterTotalBL sapDataCostCenterTotalBL = new SAPDataCostCenterTotalBL();
            List <Expense>           listGroupExpense         = LoadExpenseGroupByIdSAPData(idSAPData);

            List <KeyValue> listKeyValueCostCenter = new KeyValueBL().GetAllKeyValueByKeyTypeIntCode("CostCenter");

            List <SAPDataCostCenterTotal> listTotal = new List <SAPDataCostCenterTotal>();

            List <SAPDataCostCenterTotal> listSAPDataCostCenterTotal_IDS = this.dbContext.SAPDataCostCenterTotals.Where(s => s.idSAPData == idSAPData).Select(s => s).ToList();

            sapDataCostCenterTotalBL.EntityDelete <SAPDataCostCenterTotalBL>(listSAPDataCostCenterTotal_IDS, callContext);

            foreach (KeyValue costCenter in listKeyValueCostCenter)
            {
                SAPDataCostCenterTotal total = new SAPDataCostCenterTotal();

                total.idCostCenter = costCenter.idKeyValue;
                total.idSAPData    = idSAPData;
                total.Total_MH     = listGroupExpense.Where(s => s.CostCenter.idKeyValue == costCenter.idKeyValue).Sum(s => s.ExpenseValue_MH);
                listTotal.Add(total);
            }

            callContext = sapDataCostCenterTotalBL.EntitySave <SAPDataCostCenterTotal>(listTotal, callContext);

            return(callContext);
        }
Ejemplo n.º 2
0
        public CallContext SAPDataDelete(List <int> listSelectedIDs, CallContext resultContext)
        {
            try
            {
                resultContext.ResultCode = ETEMEnums.ResultEnum.Error;

                List <SAPData>                listSAPDatas                = new List <SAPData>();
                List <SAPDataExpense>         listSAPDataExpenses         = new List <SAPDataExpense>();
                List <SAPDataQuantity>        listSAPDataQuantities       = new List <SAPDataQuantity>();
                List <SAPDataCostCenterTotal> listSAPDataCostCenterTotals = new List <SAPDataCostCenterTotal>();

                listSAPDatas = (from sd in this.dbContext.SAPDatas
                                where listSelectedIDs.Contains(sd.idSAPData)
                                select sd).ToList();

                listSAPDataExpenses = (from sde in this.dbContext.SAPDataExpenses
                                       where listSelectedIDs.Contains(sde.idSAPData)
                                       select sde).ToList();

                listSAPDataQuantities = (from sdq in this.dbContext.SAPDataQuantities
                                         where listSelectedIDs.Contains(sdq.idSAPData)
                                         select sdq).ToList();

                listSAPDataCostCenterTotals = (from sdcct in this.dbContext.SAPDataCostCenterTotals
                                               where listSelectedIDs.Contains(sdcct.idSAPData)
                                               select sdcct).ToList();

                CallContext deleteContext = new CallContext();
                deleteContext = resultContext;

                deleteContext = new SAPDataCostCenterTotalBL().EntityDelete <SAPDataCostCenterTotal>(listSAPDataCostCenterTotals, deleteContext);

                if (deleteContext.ResultCode == ETEMEnums.ResultEnum.Success)
                {
                    deleteContext = new SAPDataQuantityBL().EntityDelete <SAPDataQuantity>(listSAPDataQuantities, deleteContext);

                    if (deleteContext.ResultCode == ETEMEnums.ResultEnum.Success)
                    {
                        deleteContext = new SAPDataExpensesBL().EntityDelete <SAPDataExpense>(listSAPDataExpenses, deleteContext);

                        if (deleteContext.ResultCode == ETEMEnums.ResultEnum.Success)
                        {
                            deleteContext = base.EntityDelete <SAPData>(listSAPDatas, deleteContext);

                            if (deleteContext.ResultCode == ETEMEnums.ResultEnum.Success)
                            {
                                resultContext.ResultCode = ETEMEnums.ResultEnum.Success;
                                resultContext.Message    = "Selected rows `SAP Data by Cost Centers` and their expenses and quantities have been deleted successfully!";
                            }
                            else
                            {
                                resultContext.ResultCode = ETEMEnums.ResultEnum.Error;
                                resultContext.Message    = "Error delete selected rows `SAP Data by Cost Centers` and their expenses and quantities!";
                            }
                        }
                        else
                        {
                            resultContext.ResultCode = ETEMEnums.ResultEnum.Error;
                            resultContext.Message    = "Error delete `Expenses by Cost Centers` for selected rows `SAP Data by Cost Centers`!";
                        }
                    }
                    else
                    {
                        resultContext.ResultCode = ETEMEnums.ResultEnum.Error;
                        resultContext.Message    = "Error delete `Quantities by Cost Centers` for selected rows `SAP Data by Cost Centers`!";
                    }
                }
                else
                {
                    resultContext.ResultCode = ETEMEnums.ResultEnum.Error;
                    resultContext.Message    = "Error delete `Totals by Cost Centers` for selected rows `SAP Data by Cost Centers`!";
                }
            }
            catch (Exception ex)
            {
                resultContext.Message = "Error delete selected rows `SAP Data by Cost Centers` and their expenses and quantities!";

                BaseHelper.Log("Error delete entities `SAPData`, IDs - (" + string.Join(",", listSelectedIDs.ToArray()) + ")!");
                BaseHelper.Log(ex.Message);
                BaseHelper.Log(ex.StackTrace);
            }

            return(resultContext);
        }