Ejemplo n.º 1
0
        public IActionResult PurchaseRateApplicability(List <PurchaseRateApplicability> PurchaseRateApplicabilityList)
        {
            Unions     UnionsModel = GetLastRecord <Unions>("tbl_unions");
            QueryParam Query       = new QueryParam
            {
                Fields = "*"
            };
            IEnumerable <Shift> shiftList = NewRepo.FindAll <Shift>(Query);
            int code = NewRepo.Find <int>(new QueryParam {
                DirectQuery = "select IFNULL(max(rate_app_code),0) from tbl_purchase_rate_applicability"
            });

            foreach (PurchaseRateApplicability PurchaseRateApplicabilityModel in PurchaseRateApplicabilityList)
            {
                Data = new List <ModelParameter>();
                if (PurchaseRateApplicabilityModel.module_name.ToLower() == "dcs")
                {
                    if (PurchaseRateApplicabilityModel.rate_for == "farmer_collection")
                    {
                        PurchaseRateApplicabilityModel.rate_app_code        = (code + 1).ToString();
                        PurchaseRateApplicabilityModel.ref_code             = PurchaseRateApplicabilityModel.applicability_unique_code;
                        PurchaseRateApplicabilityModel.originating_org_code = PurchaseRateApplicabilityModel.union_code = UnionsModel.union_code;
                        PurchaseRateApplicabilityModel.dcs_code             = PurchaseRateApplicabilityModel.module_code;
                        PurchaseRateApplicabilityModel.shift_code           = shiftList.Where(x => x.short_name.ToLower() == PurchaseRateApplicabilityModel.shift.ToLower()).Select(x => x.id).FirstOrDefault();
                        string time = PurchaseRateApplicabilityModel.wef_date.ToString("yyyy-MM-dd") + " " + shiftList.Where(x => x.short_name.ToLower() == PurchaseRateApplicabilityModel.shift.ToLower()).Select(x => x.shift_time.ToString(@"hh\:mm\:ss")).FirstOrDefault();
                        PurchaseRateApplicabilityModel.wef_date = DateHelper.ParseDate(time);
                        Data.Add(new ModelParameter {
                            SaveModel = PurchaseRateApplicabilityModel, ValidateModel = new PurchaseRateApplicabilityValidator()
                        });
                        SaveData(PurchaseRateApplicabilityModel.applicability_unique_code);
                    }
                }
            }
            return(new CustomResult("success", _response));
        }
Ejemplo n.º 2
0
        private void OrgDetail()
        {
            Hierarchy = new Dictionary <string, List <string> >();
            List <Dcs> OrgData = NewRepo.FindAll <Dcs>(new QueryParam {
                Fields = "union_code,plant_code,mcc_plant_code,bmc_code,dcs_code",
                Where  = new List <ConditionParameter>
                {
                    Condition("bmc_code", _request.organizationCode)
                }
            }).ToList();

            if (OrgData == null)
            {
                Bmc BmcData = NewRepo.FindByKey <Bmc>(_request.organizationCode);
                Hierarchy.Add("union_code", new List <string> {
                    BmcData.union_code
                });
                Hierarchy.Add("plant_code", new List <string> {
                    BmcData.plant_code
                });
                Hierarchy.Add("mcc_plant_code", new List <string> {
                    BmcData.mcc_plant_code
                });
                Hierarchy.Add("bmc_code", new List <string> {
                    _request.organizationCode
                });
                Hierarchy.Add("dcs_code", new List <string> {
                    ""
                });
            }
            else
            {
                Hierarchy.Add("union_code", new List <string> {
                    OrgData.Select(x => x.union_code).FirstOrDefault()
                });
                Hierarchy.Add("plant_code", new List <string> {
                    OrgData.Select(x => x.plant_code).FirstOrDefault()
                });
                Hierarchy.Add("mcc_plant_code", new List <string> {
                    OrgData.Select(x => x.mcc_plant_code).FirstOrDefault()
                });
                Hierarchy.Add("bmc_code", new List <string> {
                    _request.organizationCode
                });
                Hierarchy.Add("dcs_code", OrgData.Select(x => x.dcs_code).ToList());
            }
        }
Ejemplo n.º 3
0
        private List <string> SingleHierarchy(string hierarchy_code, string parent_code, string[] parent_value, bool IsHierarchy)
        {
            string table;

            if (IsHierarchy)
            {
                table = "business_hierarchy";
            }
            else
            {
                table = hierarchy_code.Split('-')[0];
            }
            Query = new QueryParam
            {
                Fields = hierarchy_code,
                Table  = table,
                Where  = new List <ConditionParameter>
                {
                    Condition(parent_code, parent_value, "IN")
                }
            };
            return(NewRepo.FindAll <string>(Query).ToList());
        }
Ejemplo n.º 4
0
        private void SetFreeActions()
        {
            FreeAction _freeAction = _cache.GetData <FreeAction>("FreeActions");

            if (_freeAction == null || (DateTime.Now.Subtract(_freeAction.created_at).Hours >= 24))
            {
                _freeAction = new FreeAction();
                Query       = new QueryParam()
                {
                    Table  = typeof(Actions).GetTableName(),
                    Fields = "distinct service_url",
                    Where  = new List <ConditionParameter> {
                        Condition("is_free", true),
                        new ConditionParameter {
                            direct_condition = "service_url is not null", PropertyValue = "#$#", PropertyName = "service_url"
                        }
                    }
                };
                _freeAction.actions    = NewRepo.FindAll <string>(Query).ToList();
                _freeAction.created_at = DateTime.Now;
                _cache.SaveData(_freeAction, "FreeActions", null);
            }
        }
Ejemplo n.º 5
0
        public IActionResult Generate(string host)
        {
            AndroidInstallationDetails DetailModel = NewRepo.FindByColumn <AndroidInstallationDetails>(new List <ConditionParameter> {
                Condition("hash_key", _request.token)
            });

            if (DetailModel != null)
            {
                string NewFileName = FileHelper.NewFileName(FileHelper.FileServerPath("Identity/Data/"), $"{_request.organizationType}_{_request.organizationCode}_", "db");
                FileHelper.Copy(FileHelper.FileServerPath("Identity/Struct/everest_amcs.db"), NewFileName);
                DetailModel.db_path         = host + "/" + NewFileName.Replace(FileHelper.ProjectPath(), "");
                DetailModel.model_operation = "update";
                _data = new List <ModelParameter> {
                    new ModelParameter {
                        ValidateModel = null, SaveModel = DetailModel
                    }
                };
                AUDOperation(_data);

                DBRepository Sqlite = new DBRepository(NewFileName);
                _query = new QueryParam
                {
                    DirectQuery = $"SELECT tbl_name FROM sqlite_master WHERE type='table'"
                };
                List <string>    SqliteTable  = Sqlite.FindAll <string>(_query).ToList();
                List <TableList> AllTableList = NewRepo.FindAll <TableList>(new QueryParam {
                    Where = new List <ConditionParameter> {
                        Condition("is_offline", 0)
                    }
                }).ToList();
                OrgDetail();
                foreach (TableList tables in AllTableList)
                {
                    if (SqliteTable.Contains(tables.table_name.Trim()))
                    {
                        _query = new QueryParam
                        {
                            DirectQuery = $"PRAGMA table_info({tables.table_name.Trim()})"
                        };
                        List <TableInfo> TableInfoDetail = Sqlite.FindAll <TableInfo>(_query).ToList();
                        string           fields          = string.Join(",", TableInfoDetail.Select(x => x.name).ToArray());
                        _query = new QueryParam
                        {
                            Fields   = fields,
                            Distinct = "distinct",
                            Table    = tables.table_name.Trim(),
                        };
                        if (tables.key_field != null && tables.key_field.Trim() != "")
                        {
                            string comapre_field = tables.key_field == "to_dest"?"bmc_code": tables.key_field;
                            _query.Where = new List <ConditionParameter>
                            {
                                Condition(tables.key_field, Hierarchy[comapre_field], "in")
                            };
                        }

                        IEnumerable <object> ObjectResult = NewRepo.FindAll(_query);
                        int    i           = 0;
                        string DirectQuery = "";
                        foreach (var ObjTmp in ObjectResult)
                        {
                            IDictionary <string, object> Tmp = ObjTmp as IDictionary <string, object>;
                            if (i == 0)
                            {
                                DirectQuery = $"insert into {tables.table_name} ({fields}) values (";
                            }
                            if (i == 200)
                            {
                                DirectQuery = DirectQuery.TrimEnd('(');
                                DirectQuery = DirectQuery.TrimEnd(',');
                                Sqlite.Add(new QueryParam {
                                    DirectQuery = DirectQuery
                                });
                                i = 0;
                            }
                            else
                            {
                                DirectQuery += string.Join(",", Tmp.Select(x => x.Value == null ? "NULL" : $"'{x.Value.ToString()}'")) + "),(";
                                i++;
                            }
                        }
                        if (DirectQuery != "")
                        {
                            DirectQuery = DirectQuery.TrimEnd('(');
                            DirectQuery = DirectQuery.TrimEnd(',');
                            Sqlite.Add(new QueryParam {
                                DirectQuery = DirectQuery
                            });
                        }
                    }
                }
                dynamic data = new ExpandoObject();
                data.dbPath = DetailModel.db_path;
                return(new CustomResult2(data));
            }
            return(new CustomResult2(null, "Authentication Failed."));
        }
Ejemplo n.º 6
0
        public IActionResult Verification()
        {
            dynamic data = new ExpandoObject();
            AndroidInstallationDetails DetailModel = NewRepo.FindByColumn <AndroidInstallationDetails>(new List <ConditionParameter> {
                Condition("hash_key", _request.token),
                Condition("otp_code", _request.content.otpCode),
                Condition("imei_no", _request.imei),
            });

            if (DetailModel == null)
            {
                return(new CustomResult2(data, "OTP Not Verified."));
            }
            else
            {
                _data  = new List <ModelParameter>();
                _query = new QueryParam
                {
                    Where = new List <ConditionParameter>
                    {
                        Condition("android_installation_id", DetailModel.android_installation_id),
                        Condition("android_installation_details_id", DetailModel.android_installation_details_id, "!=")
                    }
                };
                List <AndroidInstallationDetails> DetailList = NewRepo.FindAll <AndroidInstallationDetails>(_query).ToList();
                foreach (AndroidInstallationDetails UdateDetailModel in DetailList.NotEmpty())
                {
                    UdateDetailModel.sync_active     = false;
                    UdateDetailModel.model_operation = "update";
                    _data.Add(new ModelParameter {
                        ValidateModel = null, SaveModel = UdateDetailModel
                    });
                }
                DetailModel.is_active       = true;
                DetailModel.sync_key        = NumericHelper.RandomNumber().ToString();
                DetailModel.sync_active     = true;
                DetailModel.model_operation = "update";
                _data.Add(new ModelParameter {
                    ValidateModel = null, SaveModel = DetailModel
                });
                CustomResult result = AUDOperation(_data);
                if (result._result.message.ToLower() == "success")
                {
                    _query = new QueryParam
                    {
                        Fields = "tbl_mcc_plant.mcc_plant_code,tbl_mcc_plant.name",
                        Join   = new List <JoinParameter>
                        {
                            new JoinParameter {
                                table = "tbl_bmc", condition = "tbl_bmc.mcc_plant_code=tbl_mcc_plant.mcc_plant_code"
                            }
                        },
                        Where = new List <ConditionParameter>
                        {
                            Condition("bmc_code", _request.organizationCode)
                        }
                    };
                    MccPlant MccModel = NewRepo.Find <MccPlant>(_query);
                    if (MccModel == null)
                    {
                        return(new CustomResult2(data, "OTP Not Verified."));
                    }
                    data.message    = "OTP Verified";
                    data.syncKey    = DetailModel.sync_key;
                    data.parentType = "MCC";
                    data.parentCode = MccModel.mcc_plant_code;
                    data.parentName = MccModel.name;
                    return(new CustomResult2(data));
                }
                return(new CustomResult2(data, "OTP Not Verified."));
            }
        }
Ejemplo n.º 7
0
        public IActionResult SaveCustomer(List <CustomerMaster> CustomerMasterList)
        {
            Unions     UnionsModel = GetLastRecord <Unions>("tbl_unions");
            QueryParam Query       = new QueryParam
            {
                Fields = "*",
                Table  = "tbl_customer_type"
            };
            List <CustomerType> CustomerTypeList = NewRepo.FindAll <CustomerType>(Query).ToList();

            foreach (CustomerMaster CustomerMasterModel in CustomerMasterList)
            {
                Data = new List <ModelParameter>();

                if (CustomerMasterModel.customer_unique_code.Trim() != "")
                {
                    string prefix = CustomerTypeList.Where(x => x.customer_type == CustomerMasterModel.customer_type).Select(x => x.code_prefix).FirstOrDefault();
                    if (CheckPrefix(prefix, CustomerMasterModel.customer_code))
                    {
                        CustomerMaster NewModel = NewRepo.Find <CustomerMaster>(new QueryParam {
                            Where = new List <ConditionParameter> {
                                Condition("ref_code", CustomerMasterModel.customer_unique_code)
                            }
                        });
                        if (NewModel == null)
                        {
                            CustomerMasterModel.ref_code             = CustomerMasterModel.customer_unique_code;
                            CustomerMasterModel.x_col1               = SetDcsXcol(CustomerMasterModel.allow_multiple_milktype);
                            CustomerMasterModel.originating_org_code = CustomerMasterModel.union_code = UnionsModel.union_code;
                            Data.Add(new ModelParameter {
                                SaveModel = CustomerMasterModel, ValidateModel = new CustomerMasterValidator()
                            });
                        }
                        else
                        {
                            NewModel.customer_unique_code = CustomerMasterModel.customer_unique_code;
                            NewModel.bmc_code             = CustomerMasterModel.bmc_code;
                            NewModel.x_col1          = SetDcsXcol(CustomerMasterModel.allow_multiple_milktype);
                            NewModel.route_code      = CustomerMasterModel.route_code;
                            NewModel.customer_name   = CustomerMasterModel.customer_name;
                            NewModel.is_active       = CustomerMasterModel.is_active;
                            NewModel.mobile_no       = CustomerMasterModel.mobile_no;
                            NewModel.customer_type   = CustomerMasterModel.customer_type;
                            NewModel.model_operation = "update";
                            Data.Add(new ModelParameter {
                                SaveModel = NewModel, ValidateModel = new CustomerMasterValidator()
                            });
                        }
                        SaveData(CustomerMasterModel.customer_unique_code);
                    }
                    else
                    {
                        _response.Add(new CustomResponse {
                            status = "300", msg = "error:customer_code:Invalid Code"
                        });
                    }
                }
                else
                {
                    _response.Add(new CustomResponse {
                        status = "300", msg = "error:customer_unique_code:Require"
                    });
                }
            }
            return(new CustomResult("success", _response));
        }
Ejemplo n.º 8
0
        private TmpUserToken SetUserCache(Users UserData)
        {
            Query = new QueryParam()
            {
                Table  = "user_organization_mapping",
                Fields = "org_type,company_code,plant_code,mcc_code,bmc_code,mpp_code",
                Where  = new List <ConditionParameter> {
                    Condition("user_code", UserData.user_code)
                }
            };
            List <UserOrganizationMapping> _UserOrganizationMappingList = NewRepo.FindAll <UserOrganizationMapping>(Query).ToList();

            if (_UserOrganizationMappingList == null || _UserOrganizationMappingList.Count == 0)
            {
                return(null);
            }
            Query = new QueryParam()
            {
                Table  = "user_role",
                Fields = "role_code",
                Where  = new List <ConditionParameter> {
                    Condition("user_code", UserData.user_code)
                }
            };
            TmpUserToken _TmpUserToken = new TmpUserToken
            {
                token        = UserData.token,
                username     = UserData.user_name,
                user_code    = UserData.user_code,
                id           = UserData.token,
                role         = NewRepo.FindAll <string>(Query).ToList(),
                usertype     = _UserOrganizationMappingList.FirstOrDefault().org_type,
                company_code = _UserOrganizationMappingList.Select(o => o.company_code).Distinct().ToList(),
                plant_code   = _UserOrganizationMappingList.Select(o => o.plant_code).Distinct().ToList(),
                mcc_code     = _UserOrganizationMappingList.Select(o => o.mcc_code).Distinct().ToList(),
                bmc_code     = _UserOrganizationMappingList.Select(o => o.bmc_code).Distinct().ToList(),
                mpp_code     = _UserOrganizationMappingList.Select(o => o.mpp_code).Distinct().ToList(),
                member_code  = UserData.reference_code,
                exp          = DateTime.Now.AddHours(6)
            };

            Query = new QueryParam()
            {
                Table  = "actions",
                Fields = "distinct service_url",
                Join   = new List <JoinParameter>()
                {
                    new JoinParameter {
                        table = "permission_action", condition = "permission_action.action_code=actions.action_code"
                    },
                    new JoinParameter {
                        table = "role_permission", condition = "role_permission.permission_code=permission_action.permission_code"
                    }
                },
                Where = new List <ConditionParameter> {
                    Condition("role_code", _TmpUserToken.role, "in")
                }
            };
            _TmpUserToken.actions = NewRepo.FindAll <string>(Query).ToList();
            return(_TmpUserToken);
        }